package com.lmq.observerMode;




/**
 * 问题：
 * 其他第三方接入气象站获取数据的问题
 * 无法在运行时动态地添加第三方
 *
 * 在weatherData中，当增加一个第三方，需要创建一个对应地
 * 第三方地公告板对象，并加入到dataChange,不利于维护也不是
 * 动态加入
 */
public class WeatherData {
    private float temperature;
    private float pressure;
    private float humidity;
    private CurrentConditions currentConditions;

    public  WeatherData(CurrentConditions currentConditions){
        this.currentConditions = currentConditions;
    }
    public float getTemperature(){
        return temperature;
    }

    public float getPressure(){
        return pressure;
    }

    public float getHumidity(){
        return humidity;
    }

    public void dataChange(){
        currentConditions.update(getTemperature(),getPressure(),getHumidity());
    }

    // 数据有更新时，调用setData
    public void setData(float temperature, float pressure, float humidity){
        this.temperature = temperature;
        this.pressure = pressure;
        this.humidity = humidity;
        dataChange();
    }

}

